/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.univalle.persistencia;

import co.edu.univalle.modelo.Consignaciones;
import co.edu.univalle.modelo.Cuentas;
import java.util.Date;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;


/**
 *
 * @author Estudiante Univalle
 */
@Stateless
public class ConsignacionDAO implements IConsignacionDAO {

     @PersistenceContext
    private EntityManager entityManager;
    
    @Override
    public void registrar(Consignaciones consignacion) {
        try{
            entityManager.persist(consignacion);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public void eliminar(Consignaciones consignacion) {
        try{
            entityManager.remove(consignacion);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public void modificar(Consignaciones consignacion) {
        
        try{
            entityManager.merge(consignacion);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public List<Consignaciones> consultar() {
        try{
            String jpql = "select c from Consignaciones c";
            Query query = entityManager.createQuery(jpql);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public List<Consignaciones> consultarPorFecha(Date fecha) {
        
        try{
            String consulta = "select c from Cuentas c where c.conFecha ="+fecha;
            Query query = entityManager.createQuery(consulta);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public List<Consignaciones> consultarPorUsuario(Long cedula) {
       
        try{
            String consulta = "select c from Cuentas c where usucedula.usuCedula ="+cedula;
            Query query = entityManager.createQuery(consulta);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    
    

}
